package com.pactera.madp.cp.api.entity.wm;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

@Data
@TableName("cp_work_message")
@ApiModel(value = "会话内容存档")
@EqualsAndHashCode(callSuper = false)
public class WorkMsgEntity extends Model<WorkMsgEntity> {

    //private transient Integer id;

    @TableId(type = IdType.INPUT)
    @ApiModelProperty(value = "消息唯一标识")
    private String msgId;

    @ApiModelProperty(value = "消息的seq值，标识消息的序号")
    private Long seq;

    /**
     * 消息动作，0.send(发送消息) 1.recall(撤回消息) 2.switch(切换企业日志)
     * 注: 切换企业日志已被过滤, 不存储
     */
    @ApiModelProperty(value = "消息动作，0.send(发送消息) 1.recall(撤回消息) 2.switch(切换企业日志)")
    private Integer action;

    @ApiModelProperty(value = "消息发送方id。同一企业内容为userid，非相同企业/机器人为external_userid")
    @TableField("`from`")
    private String from;

    //json字符串
    @ApiModelProperty(value = "消息接收方列表，可能是多个，同一个企业内容为userid，非相同企业为external_userid")
    private String tolist;

    /**
     * 接收方类型 0通讯录 1外部联系人 2群
     */
    @ApiModelProperty(value = "接收方类型 0通讯录 1外部联系人 2群")
    private Integer tolistType;

    @ApiModelProperty(value = "文本消息类型，包括text、image、...")
    private Integer msgType;

    @ApiModelProperty(value = "文本内容")
    private String content;

    @ApiModelProperty(value = "消息发送时间戳，utc时间，ms单位")
    private String msgTime;

    @ApiModelProperty(value = "微信群id。如果是单聊则为空")
    private String wxRoomId;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "企业id")
    private Integer corpId;

}